Transactional Locking II
نویسندگان
چکیده
The transactional memory programming paradigm is gaining momentum as the approach of choice for replacing locks in concurrent programming. This paper introduces the transactional locking II (TL2) algorithm, a software transactional memory (STM) algorithm based on a combination of commit-time locking and a novel global version-clock based validation technique. TL2 improves on state-of-the-art STMs in the following ways: (1) unlike all other STMs it fits seamlessly with any systems memory life-cycle, including those using malloc/free (2) unlike all other lock-based STMs it efficiently avoids periods of unsafe execution, that is, using its novel version-clock validation, user code is guaranteed to operate only on consistent memory states, and (3) in a sequence of high performance benchmarks, while providing these new properties, it delivered overall performance comparable to (and in many cases better than) that of all former STM algorithms, both lock-based and non-blocking. Perhaps more importantly, on various benchmarks, TL2 delivers performance that is competitive with the best hand-crafted fine-grained concurrent structures. Specifically, it is ten-fold faster than a single lock. We believe these characteristics make TL2 a viable candidate for deployment of transactional memory today, long before hardware transactional support is available.
منابع مشابه
On the analytical modeling of concurrency control algorithms for Software Transactional Memories: The case of Commit-Time-Locking
We present an analytical performance modeling approach for concurrency control algorithms in the context of Software Transactional Memories (STMs). We consider a realistic execution pattern where each thread alternates the execution of transactional and non-transactional code portions. Our model captures dynamics related to the execution of both (i) transactional read/write memory accesses and ...
متن کاملNew Model and Scheduling Protocol for Transactional Workflows
A transactional workflow is composed of traditional flat transactions, and its execution has relaxed transactional atomicity. Due to different termination characteristics of transactions, a transactional workflow may be not wellformed. Moreover, only one workflow is allowed to execute a non-compensatable transaction with current scheduling protocol. In this paper, we present a transactional wor...
متن کاملAn Evaluation of Coarse-Grained Locking for Multicore Microkernels
The trade-off between coarseand fine-grained locking is a well understood issue in operating systems. Coarse-grained locking provides lower overhead under low contention, finegrained locking provides higher scalability under contention, though at the expense of implementation complexity and reduced best-case performance. We revisit this trade-off in the context of microkernels and tightly-coupl...
متن کاملFiner-grained Locking in Concurrent Dynamic Planar Convex Hulls
The convex hull of a planar point set is the smallest convex polygon containing each point in the set. The dynamic convex hull problem concerns efficiently maintaining the convex hull of a set of points subject to additions and removals. One algorithm for this problem uses two external balanced binary search trees (BSTs) [16]. We present the first concurrent solution for this problem, which use...
متن کاملAnalytical Modelling of Commit-Time-Locking Algorithms for Software Transactional Memories
We present an analytical performance modeling approach for concurrency control algorithms in the context of Software Transactional Memories (STMs). Unlike existing approaches, we consider a realistic execution pattern where each thread alternates the execution of transactional and non-transactional code portions. Also, our model captures dynamics related to the execution of both transactional r...
متن کامل